home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 17 / CU Amiga Magazine's Super CD-ROM 17 (1997)(EMAP Images)(GB)[!][issue 1997-12].iso / CDsupport / IDer / Routines / GetFileName.s < prev    next >
Text File  |  1997-02-18  |  1KB  |  84 lines

  1.     Tst.L    _FileName        ;have we already got a filename
  2.     Beq.S    .UseASL
  3.  
  4.     Tst.L    _WBMessage        ;were the arguments from Workbench?
  5.     Bne.S    .UseIcons
  6.  
  7. ;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  8.     Move.L    _FileName(PC),A0
  9.     Move.L    A0,_CurrentName
  10.  
  11.     Moveq    #0,D0
  12. .RDLoop    Addq    #1,D0
  13.     Cmp.L    #0,(A0)+
  14.     Bne.S    .RDLoop
  15.  
  16.     Subq    #1,D0
  17.     Beq    LaunchFinished
  18.     Move.W    D0,_LoopCount
  19.  
  20.     Clr.L    _FileName
  21.     Move.W    #ARGS_READARG,_ArgMode
  22.     Bra    .FileNameFound
  23.  
  24. ;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  25. .UseIcons    Move.L    _WBMessage(PC),A0
  26.     Move.L    sm_ArgList(A0),A1
  27.     Move.L    sm_NumArgs(A0),D0
  28.  
  29.     Addq    #8,A1
  30.     Move.L    A1,_CurrentName
  31.     Subq    #1,D0
  32.     Beq    LaunchFinished
  33.     Move.W    D0,_LoopCount
  34.  
  35.     Clr.L    FileName
  36.     Move.W    #ARGS_ICONS,_ArgMode
  37.     Bra    .FileNameFound
  38.  
  39. ;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  40. .UseASL    Tst.B    _UseAppIcon
  41.     Bne    .UseAppIcon
  42.  
  43.     Move.W    #ASLOPENERR,_ErrorCode
  44.  
  45.     Lea    ASLLibrary(PC),A1
  46.     Moveq    #38,D0
  47.     CALL    OpenLibrary,EXEC
  48.     Move.L    D0,_ASLBase
  49.     Beq    LaunchDone
  50.  
  51.     Move.W    #ASLREQERR,_ErrorCode
  52.  
  53.     Moveq    #ASL_FileRequest,D0
  54.     Sub.L    A0,A0
  55.     CALL    AllocAslRequest,ASL
  56.     Move.L    D0,_Requestor
  57.     Beq    LaunchDone
  58.  
  59.     Clr.W    _ErrorCode
  60.  
  61.     Move.L    _Requestor(PC),A0
  62.     Lea    _ASLTags(PC),A1
  63.     CALL    AslRequest
  64.     Cmp.L    #FALSE,D0
  65.     Beq.S    .FileNameFound
  66.  
  67.     Move.L    _Requestor(PC),A0
  68.     Move.L    fr_ArgList(A0),_CurrentName
  69.     Move.L    fr_NumArgs(A0),D0
  70.     Move.W    D0,_LoopCount
  71.     Beq    LaunchDone
  72.  
  73.     Clr.L    _FileName
  74.     Move.W    #ARGS_ASLREQ,_ArgMode
  75.     Bra.S    .FileNameFound
  76.  
  77. ;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  78. .UseAppIcon    Clr.W    _ErrorCode
  79.     Clr.L    _FileName
  80.     Clr.W    _ArgMode
  81.  
  82. ;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  83. .FileNameFound
  84.